f71066d5d32523ac45cf4600b03282594b5cbfc9,opennms-webapp/src/main/java/org/opennms/web/controller/ksc/FormProcViewController.java,FormProcViewController,handleRequestInternal,#HttpServletRequest#HttpServletResponse#,54

Before Change


    @Override
    protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception {
        // Get Form Variables
        int report_index = 0; 
        String override_timespan = null;
        String override_graphtype = null;
        String report_action = request.getParameter("action");
        String domain = request.getParameter("domain");
        if (report_action == null) {
            throw new MissingParameterException ("action", new String[] {"action","report","type"});
        }
        String report_type = request.getParameter("type");
        if (report_type == null) {
            throw new MissingParameterException ("type", new String[] {"action","report","type"});
        }

        if ((report_action.equals("Customize")) || (report_action.equals("Update"))) {
            String r_index = request.getParameter("report");
            if (r_index != null && !r_index.equals("null")) {
               report_index = WebSecurityUtils.safeParseInt(r_index); 
            } else if (domain == null) {
                throw new MissingParameterException("report or domain", new String[] {"report or domain","type"});
            }
            override_timespan = request.getParameter("timespan");
            if ((override_timespan == null) || (override_timespan.equals("null"))) {
                override_timespan = "none";
            }
            override_graphtype = request.getParameter("graphtype");
            if ((override_graphtype == null) || (override_graphtype.equals("null"))) {
                override_graphtype = "none";
            }
            if (report_action.equals("Customize")) {
                if (report_type.equals("node")) {
                    Report report = m_kscReportService.buildNodeReport(report_index);
                    getKscReportFactory().loadWorkingReport(report); 
                    getKscReportFactory().setWorkingReportIndex(-1); // Must set index to -1 to make customizer create a new report, not replace
                } else if (report_type.equals("domain")) {
                    Report report = m_kscReportService.buildDomainReport(domain);
                    getKscReportFactory().loadWorkingReport(report); 
                    getKscReportFactory().setWorkingReportIndex(-1); // Must set index to -1 to make customizer create a new report, not replace
                } else { 
                    // Go ahead and tell report factory to put the indexed report config into the working report area
                    getKscReportFactory().loadWorkingReport(report_index);
                }
                // Now inject any override characteristics into the working report model
                Report working_report = getKscReportFactory().getWorkingReport();
                for (int i=0; i<working_report.getGraphCount(); i++) {
                    Graph working_graph = working_report.getGraph(i);
                    if (!override_timespan.equals("none")) { 
                        working_graph.setTimespan(override_timespan); 
                    }
                    if (!override_graphtype.equals("none")) { 
                        working_graph.setGraphtype(override_graphtype); 
                    }
                }
            }
        } else { 
            if (!report_action.equals("Exit")) {
                throw new ServletException ("Invalid Parameter contents for report_action");
            }
        }
        
        if (report_action.equals("Update")) {
            ModelAndView modelAndView = new ModelAndView("redirect:/KSC/customView.htm");
            modelAndView.addObject("report", report_index);
            modelAndView.addObject("domain", domain);
            modelAndView.addObject("type", report_type);
            
            if (override_timespan != null) { 

After Change


    @Override
    protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception {
        // Get Form Variables
        int report_index = -1; 
        String override_timespan = null;
        String override_graphtype = null;
        String report_action = request.getParameter("action");
        String domain = request.getParameter("domain");
        if (report_action == null) {
            throw new MissingParameterException ("action", new String[] {"action", "report", "type"});
        }
        String report_type = request.getParameter("type");
        if (report_type == null) {
            throw new MissingParameterException ("type", new String[] {"action", "report", "type"});
        }

        if (report_action.equals("Customize") || report_action.equals("Update")) {
            String r_index = request.getParameter("report");
            if (r_index != null && !r_index.equals("null")) {
               report_index = WebSecurityUtils.safeParseInt(r_index); 
            } else if (domain == null) {
                throw new MissingParameterException("report or domain", new String[] {"report or domain" , "type"});
            }
            override_timespan = request.getParameter("timespan");
            if ((override_timespan == null) || override_timespan.equals("null")) {
                override_timespan = "none";
            }
            override_graphtype = request.getParameter("graphtype");
            if (override_graphtype == null || override_graphtype.equals("null")) {
                override_graphtype = "none";
            }
            if (report_action.equals("Customize")) {
                KscReportEditor editor = KscReportEditor.getFromSession(request.getSession(), false);
                
                if (report_type.equals("node")) {
                    editor.loadWorkingReport(m_kscReportService.buildNodeReport(report_index)); 
                } else if (report_type.equals("domain")) {
                    editor.loadWorkingReport(m_kscReportService.buildDomainReport(domain)); 
                } else { 
                    editor.loadWorkingReport(getKscReportFactory(), report_index);
                }
                
                // Now inject any override characteristics into the working report model
                Report working_report = editor.getWorkingReport();
                for (int i=0; i<working_report.getGraphCount(); i++) {
                    Graph working_graph = working_report.getGraph(i);
                    if (!override_timespan.equals("none")) { 
                        working_graph.setTimespan(override_timespan); 
                    }
                    if (!override_graphtype.equals("none")) { 
                        working_graph.setGraphtype(override_graphtype); 
                    }
                }
            }
        } else { 
            if (!report_action.equals("Exit")) {
                throw new ServletException ("Invalid Parameter contents for report_action");
            }
        }
        
        if (report_action.equals("Update")) {
            ModelAndView modelAndView = new ModelAndView("redirect:/KSC/customView.htm");
            modelAndView.addObject("type", report_type);

            if (report_index >= 0) {
                modelAndView.addObject("report", report_index);
            }
            if (domain != null) {
                modelAndView.addObject("domain", domain);
            }
            if (override_timespan != null) { 
                modelAndView.addObject("timespan", override_timespan);